/*	This file is part of LSAC.

	LSAC is free software: you can redistribute it and/or modify
	it under the terms of the GNU General Public License as published by
	the Free Software Foundation, either version 3 of the License, or
	(at your option) any later version.

	LSAC is distributed in the hope that it will be useful,
	but WITHOUT ANY WARRANTY; without even the implied warranty of
	MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
	GNU General Public License for more details.

	You should have received a copy of the GNU General Public License
	along with LSAC.  If not, see <http://www.gnu.org/licenses/>.

	Copyright (c) 2010 LEPESME "Jiboo" Jean-Baptiste
*/

#include <iostream>
#include <cstdlib>
#include "cLexer.h"
#include "cParser.h"
#include "cSemContext.h"

#ifndef NDEBUG
	#define LOG(pMessage) \
	{ \
		std::cout << __FILE__ << ":" << __LINE__ << " " << pMessage << std::endl; \
	}
	#define PRINT_LOG(pMessage) \
	{ \
		for(int lTabs = 0; lTabs < pLevel; lTabs++) \
			std::cout << "  "; \
		std::cout << pMessage << endl; \
	}
#else
	#define LOG(x)
	#define PRINT_LOG(x)
#endif

#define ERROR(pMessage) \
	{ \
		std::cerr << pMessage << std::endl; \
		abort(); \
	}
